package thieft;

import java.util.ArrayList;
import java.util.List;


public class OrdenDeArresto {

	private List<Rasgo> rasgosBuscados;
	private Ladron ladronConOrdenDeArresto;
	
	public OrdenDeArresto() {
		
		this.rasgosBuscados = new ArrayList<Rasgo>();
	}
	
	public void agregarRasgo(Rasgo unRasgo) {
		
		this.rasgosBuscados.add(unRasgo);
	}
	
    public void eliminarRasgos() {
		
		this.rasgosBuscados.clear();
	}
	
	public Ladron ladronConOrdenDeArresto() {
		
		return this.ladronConOrdenDeArresto;
	}
	
	private void emitirPara(Ladron unLadron) {
		
		Tiempo.obtenerInstancia().pasaronHoras(3);
		
		this.ladronConOrdenDeArresto = unLadron;
	}
	
	public List<Ladron> buscar(List<Ladron> ladrones) {
		
		List<Ladron> sospechosos = new ArrayList<Ladron>();
		
		for (int i=0 ; i < ladrones.size(); i++) {
			
			Ladron unLadron = ladrones.get(i);
			
			if ( unLadron.tieneCoincidenciaCon(this.rasgosBuscados) ) {
				sospechosos.add(unLadron);
			}
		}
		
		if (sospechosos.size() == 1) {
			this.emitirPara(sospechosos.get(0));
			
		}else{ Tiempo.obtenerInstancia().pasaronHoras(1);}
		
		return sospechosos;
	}
}

